package com.mycompany.crm.service;

import com.mycompany.crm.base.BaseMapper;
import com.mycompany.crm.base.BaseQuery;
import com.mycompany.crm.vo.Role;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * @author jy
 * @version 1.0
 * @date 2022/2/8 11:02
 */
public interface RoleService extends BaseMapper<Role,Integer> {

    /**
     * 查询所有的角色列表
     * @return
     */
    List<Map<String,Object>> queryAllRoles(Integer userId);

    /**
     * 分页多条件查询角色列表
     * @param baseQuery
     * @return
     */
    Map<String, Object> queryByParamsForTable(BaseQuery baseQuery);

    /**
     * 添加角色
     * @param role
     */
    void addRole(Role role);

    /**
     * 修改角色
     * @param role
     */
    void updateRole(Role role);

    /**
     * 删除角色
     * @param roleId
     */
    void deleteRole(Integer roleId);

    /**
     * 角色授权
     * @param mIds
     * @param roleId
     */
    void addGrant(Integer[] mIds, Integer roleId);
}
